<?php
/**
 * WordPress Spider Monitor - 安装测试文件
 * 
 * 此文件用于测试插件安装是否成功
 * 访问: /wp-content/plugins/wp-url-spider/test-install.php
 * 
 * @package WordPress Spider Monitor
 * @author Eric
 * @version 3.0.0
 */

// 加载WordPress环境
require_once('../../../wp-load.php');

// 检查权限
if (!current_user_can('manage_options')) {
    wp_die('权限不足');
}

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>WordPress Spider Monitor - 安装测试</title>
    <style>
        body { font-family: Arial, sans-serif; margin: 20px; }
        .success { color: green; }
        .error { color: red; }
        .info { color: blue; }
        .section { margin: 20px 0; padding: 15px; border: 1px solid #ddd; }
        table { border-collapse: collapse; width: 100%; }
        th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
        th { background-color: #f2f2f2; }
    </style>
</head>
<body>
    <h1>WordPress Spider Monitor - 安装测试</h1>
    
    <?php
    // 检查插件是否激活
    if (!class_exists('WP_Spider_Monitor_Installer')) {
        echo '<div class="error">❌ 安装文件未加载</div>';
        exit;
    }
    
    echo '<div class="success">✅ 安装文件已加载</div>';
    
    // 检查数据库表
    $missing_tables = wp_spider_monitor_check_tables();
    
    if (empty($missing_tables)) {
        echo '<div class="success">✅ 所有数据库表已创建</div>';
    } else {
        echo '<div class="error">❌ 缺少以下数据库表：</div>';
        echo '<ul>';
        foreach ($missing_tables as $table) {
            echo '<li>' . $table . '</li>';
        }
        echo '</ul>';
        
        // 尝试创建缺失的表
        echo '<div class="info">🔄 尝试创建缺失的表...</div>';
        $result = wp_spider_monitor_create_tables();
        if ($result) {
            echo '<div class="success">✅ 表创建成功</div>';
        } else {
            echo '<div class="error">❌ 表创建失败</div>';
        }
    }
    
    // 检查WordPress版本
    global $wp_version;
    if (version_compare($wp_version, '5.0', '>=')) {
        echo '<div class="success">✅ WordPress版本: ' . $wp_version . ' (符合要求)</div>';
    } else {
        echo '<div class="error">❌ WordPress版本: ' . $wp_version . ' (需要5.0+)</div>';
    }
    
    // 检查PHP版本
    if (version_compare(PHP_VERSION, '7.4', '>=')) {
        echo '<div class="success">✅ PHP版本: ' . PHP_VERSION . ' (符合要求)</div>';
    } else {
        echo '<div class="error">❌ PHP版本: ' . PHP_VERSION . ' (需要7.4+)</div>';
    }
    
    // 检查数据库连接
    global $wpdb;
    if ($wpdb->db_connect()) {
        echo '<div class="success">✅ 数据库连接正常</div>';
    } else {
        echo '<div class="error">❌ 数据库连接失败</div>';
    }
    
    // 检查插件选项
    $version = get_option('wp_spider_monitor_version');
    $db_version = get_option('wp_spider_monitor_db_version');
    
    if ($version) {
        echo '<div class="success">✅ 插件版本: ' . $version . '</div>';
    } else {
        echo '<div class="info">ℹ️ 插件版本未设置</div>';
    }
    
    if ($db_version) {
        echo '<div class="success">✅ 数据库版本: ' . $db_version . '</div>';
    } else {
        echo '<div class="info">ℹ️ 数据库版本未设置</div>';
    }
    
    // 显示数据库表信息
    echo '<div class="section">';
    echo '<h2>数据库表状态</h2>';
    echo '<table>';
    echo '<tr><th>表名</th><th>状态</th><th>记录数</th></tr>';
    
    $tables = array(
        'spider_visits' => '蜘蛛访问记录',
        'spider_stats' => '蜘蛛统计',
        'spider_push_urls' => 'URL推送记录',
        'spider_push_config' => '搜索引擎配置',
        'spider_push_log' => '推送日志',
        'spider_quota' => '配额管理',
        'spider_indexing_status' => '索引状态',
        'spider_user_theme' => '用户主题',
        'spider_url_stats' => 'URL统计',
        'spider_block_rules' => '拦截规则',
        'spider_article_crawl' => '文章爬取',
        'spider_link_rules' => '链接规则'
    );
    
    foreach ($tables as $table => $description) {
        $full_table_name = $wpdb->prefix . $table;
        $exists = $wpdb->get_var("SHOW TABLES LIKE '{$full_table_name}'") == $full_table_name;
        
        if ($exists) {
            $count = $wpdb->get_var("SELECT COUNT(*) FROM `{$full_table_name}`");
            echo '<tr><td>' . $description . '</td><td class="success">✅ 存在</td><td>' . $count . '</td></tr>';
        } else {
            echo '<tr><td>' . $description . '</td><td class="error">❌ 不存在</td><td>-</td></tr>';
        }
    }
    
    echo '</table>';
    echo '</div>';
    
    // 显示系统信息
    echo '<div class="section">';
    echo '<h2>系统信息</h2>';
    echo '<table>';
    echo '<tr><th>项目</th><th>值</th></tr>';
    echo '<tr><td>WordPress版本</td><td>' . $wp_version . '</td></tr>';
    echo '<tr><td>PHP版本</td><td>' . PHP_VERSION . '</td></tr>';
    echo '<tr><td>MySQL版本</td><td>' . $wpdb->db_version() . '</td></tr>';
    echo '<tr><td>站点URL</td><td>' . get_site_url() . '</td></tr>';
    echo '<tr><td>插件目录</td><td>' . plugin_dir_path(__FILE__) . '</td></tr>';
    echo '<tr><td>插件URL</td><td>' . plugin_dir_url(__FILE__) . '</td></tr>';
    echo '<tr><td>内存限制</td><td>' . ini_get('memory_limit') . '</td></tr>';
    echo '<tr><td>最大执行时间</td><td>' . ini_get('max_execution_time') . '秒</td></tr>';
    echo '</table>';
    echo '</div>';
    
    // 显示默认配置
    echo '<div class="section">';
    echo '<h2>默认配置</h2>';
    echo '<table>';
    echo '<tr><th>配置项</th><th>值</th></tr>';
    
    $configs = array(
        'wp_spider_monitor_max_pages' => '最大分析页面数',
        'wp_spider_monitor_request_interval' => '请求间隔(秒)',
        'wp_spider_monitor_user_agent' => '用户代理',
        'wp_spider_monitor_timeout' => '超时时间(秒)',
        'wp_spider_monitor_theme' => '默认主题',
        'wp_spider_monitor_cache_duration' => '缓存时间(秒)',
        'wp_spider_monitor_cleanup_days' => '清理天数'
    );
    
    foreach ($configs as $option => $description) {
        $value = get_option($option, '未设置');
        echo '<tr><td>' . $description . '</td><td>' . $value . '</td></tr>';
    }
    
    echo '</table>';
    echo '</div>';
    
    // 显示搜索引擎配置
    echo '<div class="section">';
    echo '<h2>搜索引擎配置</h2>';
    $engines = $wpdb->get_results("SELECT engine_name, engine_type, is_active, total_pushed, total_success FROM `{$wpdb->prefix}spider_push_config` WHERE is_system = 1");
    
    if ($engines) {
        echo '<table>';
        echo '<tr><th>搜索引擎</th><th>类型</th><th>状态</th><th>总推送</th><th>成功数</th></tr>';
        foreach ($engines as $engine) {
            $status = $engine->is_active ? '✅ 启用' : '❌ 禁用';
            echo '<tr><td>' . $engine->engine_name . '</td><td>' . $engine->engine_type . '</td><td>' . $status . '</td><td>' . $engine->total_pushed . '</td><td>' . $engine->total_success . '</td></tr>';
        }
        echo '</table>';
    } else {
        echo '<div class="info">ℹ️ 没有找到搜索引擎配置</div>';
    }
    echo '</div>';
    
    // 显示链接规则
    echo '<div class="section">';
    echo '<h2>链接规则</h2>';
    $rules = $wpdb->get_results("SELECT rule_key, title, is_enabled FROM `{$wpdb->prefix}spider_link_rules`");
    
    if ($rules) {
        echo '<table>';
        echo '<tr><th>规则键</th><th>标题</th><th>状态</th></tr>';
        foreach ($rules as $rule) {
            $status = $rule->is_enabled ? '✅ 启用' : '❌ 禁用';
            echo '<tr><td>' . $rule->rule_key . '</td><td>' . $rule->title . '</td><td>' . $status . '</td></tr>';
        }
        echo '</table>';
    } else {
        echo '<div class="info">ℹ️ 没有找到链接规则</div>';
    }
    echo '</div>';
    
    ?>
    
    <div class="section">
        <h2>操作</h2>
        <p>
            <a href="<?php echo admin_url('admin.php?page=spider-monitor'); ?>" class="button">进入插件管理页面</a>
            <a href="<?php echo admin_url('plugins.php'); ?>" class="button">返回插件列表</a>
        </p>
    </div>
    
    <div class="section">
        <h2>说明</h2>
        <ul>
            <li>此测试页面用于验证插件安装是否成功</li>
            <li>如果所有项目都显示 ✅，说明安装成功</li>
            <li>如果有 ❌ 项目，请检查相关配置</li>
            <li>测试完成后，建议删除此文件</li>
        </ul>
    </div>
    
</body>
</html>
